import i18n from '@/i18n'
// translate router.meta.title, be used in breadcrumb sidebar tagsview
export function generateTitle(title) {
  const hasKey = this.$te('route.' + title)

  if (hasKey) {
    // $t :this method from vue-i18n, inject in @/lang/index.js
    const translatedTitle = this.$t('route.' + title)

    return translatedTitle
  }
  return title
}
// 处理字符串里的中英文
export function handleServiceI18n(str) {
  if (str) {
    return str
      .replace(/{OUT}/g, i18n.t('FACE_TYPE_OUT')) // 输入
      .replace(/{IN}/g, i18n.t('FACE_TYPE_IN')) // 输出
      .replace(/{HANDLE_CHECK_0}/g, i18n.t('EXECUTE_RESULT_SUCCESS')) // 成功
      .replace(/{HANDLE_CHECK_1}/g, i18n.t('PROCESS_STATUS_FAIL')) // 失败
      .replace(/{HANDLE_CHECK_2}/g, i18n.t('DEVICE_CODE_NOT_BLANK')) // 设备编号不能为空
      .replace(/{HANDLE_CHECK_3}/g, i18n.t('DEVICE_DOES_NOT_EXIST')) // 设备信息不存在
      .replace(/{HANDLE_CHECK_4}/g, i18n.t('UNAUTHORIZED_DEVICE')) // 设备未授权
      .replace(/{HANDLE_CHECK_5}/g, i18n.t('DEVICE_DOES_NOT_EXIST')) // 设备信息不存在
      .replace(/{HANDLE_CHECK_6}/g, i18n.t('ALARM_TYPE_DEVICE_OFFLINE')) // 设备离线
      .replace(/{HANDLE_CHECK_7}/g, i18n.t('FOTA_UPGRADE')) // 设备FOTA升级中
      .replace(/{HANDLE_CHECK_8}/g, i18n.t('DEVICE_DOES_NOT_EXIST')) // 设备信息不存在
      .replace(/{HANDLE_CHECK_9}/g, i18n.t('NOT_FREE')) // 设备状态为非空闲
      .replace(/{HANDLE_CHECK_10}/g, i18n.t('TASK_CODE_NOT_EMPTY')) // 任务编号不能为空
      .replace(/{HANDLE_CHECK_11}/g, i18n.t('COMMAND_ERROR')) // 设备控制指令错误
      .replace(/{HANDLE_CHECK_12}/g, i18n.t('COMMUNICATION_MODE_ERROR')) // 通信模式错误
      .replace(/{HANDLE_CHECK_13}/g, i18n.t('IP_ADDRESS_ERROR')) // IP地址错误
      .replace(/{HANDLE_CHECK_14}/g, i18n.t('PORT_ERROR')) // 端口错误
      .replace(/{HANDLE_CHECK_15}/g, i18n.t('NOFIBERTRANSFER')) // 端口已建立连接，不需要进行移纤
      .replace(/{HANDLE_CHECK_16}/g, i18n.t('HAS_TASK')) // 任务已存在，请勿重复执行
      .replace(/{HANDLE_CHECK_17}/g, i18n.t('TEST_PARA_ERR')) // OTDR测试参数错误
      .replace(/{HANDLE_CHECK_18}/g, i18n.t('NO_TASK')) // 任务不存在
      .replace(/{HANDLE_CHECK_19}/g, i18n.t('SERVICETOPOLOGYPAGE_NOFOTA')) // FOTA升级信息不存在
      .replace(/{HANDLE_CHECK_20}/g, i18n.t('OTDR_NO_NET')) // OTDR没有网络连接
      .replace(/{HANDLE_CHECK_21}/g, i18n.t('SERVICETOPOLOGYPAGE_NOTCTYPE')) // 不是C型AFS
      .replace(/{HANDLE_CHECK_22}/g, i18n.t('SERVICETOPOLOGYPAGE_NORING')) // 无可用的环
      .replace(/{HANDLE_CHECK_23}/g, i18n.t('SERVICETOPOLOGYPAGE_AFSNOTPLUG')) // AFS状态为非拔出
      .replace(/{HANDLE_CHECK_24}/g, i18n.t('PARAMETER_ERROR')) // 参数错误
      .replace(/{HANDLE_CHECK_25}/g, i18n.t('NUMBER_ATTEMPTS_SPLIT_EXCEEDED')) // 超过尝试拆分次数
      .replace(/{HANDLE_CHECK_26}/g, i18n.t('NO_CONNECTION_PATH')) // 没有连接路径
      .replace(/{HANDLE_CHECK_27}/g, i18n.t('NO_OTDR_MODULE')) // 无OTDR模块
      .replace(/{HANDLE_CHECK_28}/g, i18n.t('NO_OPTICAL_POWER_MODULE')) // 无光功率模块
      .replace(/{HANDLE_CHECK_29}/g, i18n.t('NO_EXECUTION_REQUIRED')) // 不需要执行
      .replace(/{HANDLE_CHECK_30}/g, i18n.t('VIDEO_STREAM_OPENED')) // 视频流已打开
      .replace(/{HANDLE_CHECK_31}/g, i18n.t('AFS_PORT_UNPLUGGED')) // AFS端口已拔出
      .replace(/{HANDLE_CHECK_32}/g, i18n.t('AFS_PATROL_INSPECTION')) // AFS未在巡检中
      .replace(/{HANDLE_CHECK_33}/g, i18n.t('LOWPOWER_CONSUMPTION_EQUIPMENT')) // 设备低功耗
      .replace(/{HANDLE_CHECK_34}/g, i18n.t('SERVICETOPOLOGYPAGE_DEVICEPROTECT')) // 设备已保护
      .replace(/{HANDLE_CHECK_35}/g, i18n.t('ALARM_TYPE_AFS_FAULT')) // 光配机故障
      .replace(/{CHANNEL}/g, i18n.t('CHANNEL')) // 通道
      .replace(/{CONNECTED}/g, i18n.t('SERVICECONFIGPAGE_CONNECTED')) // 连接的
      .replace(/{REPLACED}/g, i18n.t('REPLACED')) // 更换为
      .replace(/{DEVICE_ON}/g, i18n.t('HISTORICALALARMHPAGE_DEVICE_ON')) // 设备在
      .replace(/{BECAUSE}/g, i18n.t('BECAUSE')) // 因为
      .replace(/{ECAUSE}/g, i18n.t('BECAUSE')) // 因为
      .replace(/{OFFLINE}/g, i18n.t('OFFLINE')) // 离线
      .replace(/{YEAR}/g, i18n.t('YEAR')) // 年
      .replace(/{MOUTH}/g, i18n.t('MONTH')) // 月
      .replace(/{DAY}/g, i18n.t('DAY')) // 日
      .replace(/{HOUR}/g, i18n.t('HOUR')) // 时
      .replace(/{MINUTE}/g, i18n.t('MINUTE')) // 分
      .replace(/{SECOND}/g, i18n.t('SECOND')) // 秒
      .replace(/{ALARM_SENT}/g, i18n.t('HISTORICALALARMHPAGE_ALARM_SENT')) // 触发了告警
      .replace('m {FACE}', 'b {FACE}')
      .replace(/{FACE}/g, i18n.t('FACE')) // 面
      .replace(/{AND}/g, i18n.t('AND')) // 与
      .replace(/{CONNECTION}/g, i18n.t('CONNECT')) // 建立连接
      .replace(/{HANDLE_CHECK_UNKNOWN_ERROR}/, i18n.t('UNKNOWN_ERROR')) // 未知错误
      .replace(/{OTDR_NET_FAULT}/g, i18n.t('OTDR_NET_FAULT')) // otdr通信异常
      .replace(/OTDR_NET_FAULT/g, i18n.t('OTDR_NET_FAULT')) // otdr通信异常
      .replace(/{TIME_OTDR}/g, i18n.t('AFSTASKPAGE_TIME_OTDR')) // 进行例测
      .replace(/TIME_OTDR/g, i18n.t('AFSTASKPAGE_TIME_OTDR')) // 进行例测
      .replace(/{ERROR_INFO}/g, i18n.t('EXCEPTION')) // 异常信息
      .replace(/{PORT_ID}/g, i18n.t('PORT_CODE')) // 端口编号
      .replace(/{DIRECTION}/g, i18n.t('DIRECTION')) // 方向
      .replace(/{END_LENGTH_ANALYZE}/g, i18n.t('END_LENGTH_ANALYZE')) // 光纤末端长度比例
      .replace(/{LINK_LOSS_ANALYZE}/g, i18n.t('LOW_LINKLOSS')) // 链路损耗
      .replace(/{AVG_LOSS_ANALYZE}/g, i18n.t('ALARM_TYPE_AVG_LOSS')) // 平均损耗
      .replace(/{PLUG_LOSS_ANALYZE}/g, i18n.t('PLUG_LOSS_ANALYZE')) // 接头损耗
      .replace(/TRANSF_LOS/g, i18n.t('ALARM_TYPE_TRANSF_LOS')) // 传输los告警
      .replace(/DEVICE_OFFLINE/g, i18n.t('ALARM_TYPE_DEVICE_OFFLINE')) // 设备离线
      .replace(/MANIPULATOR_FAULT/g, i18n.t('ALARM_TYPE_MANIPULATOR_FAULT')) // AFS机械臂故障
      .replace(/END_LENGTH/g, i18n.t('ALARM_TYPE_END_LENGTH')) // 光纤末端长度告警
      .replace(/LINK_LOSS/g, i18n.t('ALARM_TYPE_LINK_LOSS')) // 链路损耗告警
      .replace(/AVG_LOSS/g, i18n.t('ALARM_TYPE_AVG_LOSS')) // 平均损耗告警
      .replace(/PLUG_LOSS/g, i18n.t('ALARM_TYPE_PLUG_LOSS')) // 接头损耗告警
      .replace(/{PRE_OTDR}/g, i18n.t('PRE_OTDR')) // 移纤前otdr测试
      .replace(/{UPDER_Y_MOVE_ERROR}/g, i18n.t('UPDER_Y_MOVE_ERROR')) // 上机械臂Y轴走位错误
      .replace(/{OTDR_MANUAL_TEST}/g, i18n.t('MANUAL_TEST')) // otdr手动测试
      .replace(/OTDR_MANUAL_TEST/g, i18n.t('MANUAL_TEST')) // otdr手动测试
      .replace(/{AUTO_TRANS_FIBER}/g, i18n.t('TASK_TYPE_AUTO_TRANS_FIBER')) // 自动移纤
      .replace(/{SUCCESS}/g, i18n.t('EXECUTE_RESULT_SUCCESS')) // 成功
      .replace(/{FAIL}/g, i18n.t('PROCESS_STATUS_FAIL')) // 失败，AFS非空闲
      .replace(/{PORT_OVER_RANGE}/g, i18n.t('PORT_OVER_RANGE')) // 错误，移纤端口超出范围
      .replace(/{FIBER_OVER_RANGE}/g, i18n.t('FIBER_OVER_RANGE')) // 错误，待移光纤超出范围
      .replace(/{NOT_NEED_TRANSFER}/g, i18n.t('NOT_NEED_TRANSFER')) // 已经建立连接，无需移纤操作
      .replace(/{NO_AVAIL_RING}/g, i18n.t('NO_AVAIL_RING')) // 无环可用
      .replace(/{RESERV}/g, i18n.t('RESERV')) // 预留
      .replace(/{START_FAIL}/g, i18n.t('START_FAIL')) // 启动故障
      .replace(/{CHECK_FAIL}/g, i18n.t('CHECK_FAIL')) // 巡检故障
      .replace(/{UPGRADE_ERROR}/g, i18n.t('UPGRADE_ERROR')) // 错误，升级过程出现异常
      .replace(/{COMMAND_ERROR}/g, i18n.t('COMMAND_ERROR')) // 下发命令参数异常
      .replace(/{OTDR_TEST_TIMEOUT}/g, i18n.t('OTDR_TEST_TIMEOUT')) // 错误，OTDR测试超时
      .replace(/{OTDR_REPEAT_TEST}/g, i18n.t('OTDR_REPEAT_TEST')) // 已经执行OTDR移纤，不可重复执行，请先恢复上次移纤
      .replace(/{OTDR_TEST_NOT_EXIST}/g, i18n.t('OTDR_TEST_NOT_EXIST')) // 不存在otdr移纤，无法执行恢复操作
      .replace(/{UPDER_X_RESET_ERROR}/g, i18n.t('UPDER_X_RESET_ERROR')) // 上机械臂X轴复位故障
      .replace(/{UPDER_Y_RESET_ERROR}/g, i18n.t('UPDER_Y_RESET_ERROR')) // 上机械臂Y轴复位故障
      .replace(/{UPDER_Z_RESET_ERROR}/g, i18n.t('UPDER_Z_RESET_ERROR')) // 上机械臂Z轴复位故障
      .replace(/{UNDER_X_RESET_ERROR}/g, i18n.t('UNDER_X_RESET_ERROR')) // 下机械臂X轴复位故障
      .replace(/{UNDER_Y_RESET_ERROR}/g, i18n.t('UNDER_Y_RESET_ERROR')) // 下机械臂Y轴复位故障
      .replace(/{UNDER_Z_RESET_ERROR}/g, i18n.t('UNDER_Z_RESET_ERROR')) // 下机械臂Z轴复位故障
      .replace(/{GUIDE_HOLE_RESET_ERROR}/g, i18n.t('GUIDE_HOLE_RESET_ERROR')) // 导手孔复位故障
      .replace(/{UPDER_X_MOVE_ERROR}/g, i18n.t('UPDER_X_MOVE_ERROR')) // 上机械臂X轴走位错误
      .replace(/{UPDER_Y_MOVE_ERROR}/g, i18n.t('UPDER_Y_MOVE_ERROR')) // 上机械臂Y轴走位错误
      .replace(/{UPDER_Z_MOVE_ERROR}/g, i18n.t('UPDER_Z_MOVE_ERROR')) // 上机械臂Z轴走位错误
      .replace(/{UNDER_X_MOVE_ERROR}/g, i18n.t('UNDER_X_MOVE_ERROR')) // 下机械臂X轴走位错误
      .replace(/{UNDER_Y_MOVE_ERROR}/g, i18n.t('UNDER_Y_MOVE_ERROR')) // 下机械臂Y轴走位错误
      .replace(/{UNDER_Z_MOVE_ERROR}/g, i18n.t('UNDER_Z_MOVE_ERROR')) // 下机械臂Z轴走位错误
      .replace(/{FIBER_UPDER}/g, i18n.t('FIBER_UPDER')) // 光纤位于上机械臂
      .replace(/{FIBER_UNDER}/g, i18n.t('FIBER_UNDER')) // 光纤位于下机械臂
      .replace(/{FIBER_GUIDE}/g, i18n.t('FIBER_GUIDE')) // 光纤位于倒手装置
      .replace(/{FIBER_BORROW_HOLE}/g, i18n.t('FIBER_BORROW_HOLE')) // 光纤位于错位孔
      .replace(/{CONF_READ_ERROR}/g, i18n.t('CONF_READ_ERROR')) // 配置参数读取错误
      .replace(/{CONF_WRITE_ERROR}/g, i18n.t('CONF_WRITE_ERROR')) // 配置参数写入错误
      .replace(/{CHECK_READ_ERROR}/g, i18n.t('CHECK_READ_ERROR')) // 校准参数读取错误
      .replace(/{CHECK_WRITE_ERROR}/g, i18n.t('CHECK_WRITE_ERROR')) // 校准参数写入错误
      .replace(/{PORT_REF_READ_ERROR}/g, i18n.t('PORT_REF_READ_ERROR')) // 端口映射读取错误
      .replace(/{PORT_REF_WRITE_ERROR}/g, i18n.t('PORT_REF_WRITE_ERROR')) // 端口映射写入错误
      .replace(/{CAN_SEND_POSITION_ERROR}/g, i18n.t('CAN_SEND_POSITION_ERROR')) // Can发送位置响应失败
      .replace(/{UNKNOWN_CAMERA_FACE}/g, i18n.t('UNKNOWN_CAMERA_FACE')) // 未知摄像面
      .replace(/{START_X_MOVE_ERROR}/g, i18n.t('START_X_MOVE_ERROR')) // 启动X轴运动失败
      .replace(/{CAN_RECEIVE_POSITION_ERROR}/g, i18n.t('CAN_RECEIVE_POSITION_ERROR')) // Can接收位置响应失败
      .replace(/{PIM_LIMIT_STOP_ERROR}/g, i18n.t('PIM_LIMIT_STOP_ERROR')) // 位置识别运动限位停止失败
      .replace(/{PIM_FEEDBACK_PULSE_SMALL_ERROR}/g, i18n.t('PIM_FEEDBACK_PULSE_SMALL_ERROR')) // 位置识别运动反馈脉冲过小异常
      .replace(/{PIM_FEEDBACK_PULSE_BIG_ERROR}/g, i18n.t('PIM_SEND_PULSE_BIG_ERROR')) // 位置识别运动反馈脉冲过大异常
      .replace(/{PIM_SEND_PULSE_BIG_ERROR}/g, i18n.t('PIM_SEND_PULSE_BIG_ERROR')) // 位置识别运动发送脉冲过大异常
      .replace(/{PIM_STOP_ERROR}/g, i18n.t('PIM_STOP_ERROR')) // 位置识别运动停止失效
      .replace(/{NON_POSITION_IDENTIFY_STATUS}/g, i18n.t('TIP_NON_POSITION_IDENTIFY_STATUS')) // 非定位识别状态码
      .replace(/{MOTOR_STALL_STOP}/g, i18n.t('MOTOR_STALL_STOP')) // 电机堵转停机
      .replace(/{EXCEPTION}/g, i18n.t('TASK_RESULT_EXCEPTION')) // 异常
      .replace(/{UNKNOWN_ERROR}/g, i18n.t('UNKNOWN_ERROR')) // 未知错误
      .replace(/{TASK_EXECUTE_TIMEOUT}/g, i18n.t('TASK_EXECUTE_TIMEOUT')) // 任务执行超时
      .replace(/{EXECUTE_CONDITION_INSUFFICIENT}/g, i18n.t('EXECUTE_CONDITION_INSUFFICIENT')) // 执行条件不满足
      .replace(/{TASK_RETRY_FAIL}/g, i18n.t('TASK_RETRY_FAIL')) // 任务重试失败
      .replace(/{FORCE_CANCEL}/g, i18n.t('FORCE_CANCEL')) // 强制取消
      .replace(/{ERROR_PULL}/g, i18n.t('ERROR_PULL')) // 移纤失败
      .replace(/{ERROR_INSERT}/g, i18n.t('ERROR_INSERT')) // 插纤失败
      .replace(/{RETRYING}/g, i18n.t('SERVICETOPOLOGYPAGE_RETRYING')) // 重试中
      .replace(/{DEVICE_NOT_SUPPORT_TEST}/g, i18n.t('DEVICE_NOT_SUPPORT_TEST')) // 设备不支持测试
      .replace(/{TEST_TYPE_NOT_SUPPORTED}/g, i18n.t('TEST_TYPE_NOT_SUPPORTED')) // 测试类型不支持
      .replace(/{DEVICE_NOT_EXISTS}/g, i18n.t('DEVICE_NOT_EXISTS')) // 设备不存在
      .replace(/{ROUTE}/g, i18n.t('ROUTE')) // 路由
      .replace(/{PORT}/g, i18n.t('PORT')) // 端口
  } else {
    return str
  }
}
